.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkresources.c \
$(GTK_VERSION_H)
+GTK3_GDK_WIN32_VC1X_PROJS = \
+ vs10\$(GDKWIN32_VS1X_PROJ) \
+ vs11\$(GDKWIN32_VS1X_PROJ) \
+ vs12\$(GDKWIN32_VS1X_PROJ) \
+ vs14\$(GDKWIN32_VS1X_PROJ) \
+ vs15\$(GDKWIN32_VS1X_PROJ) \
+ vs16\$(GDKWIN32_VS1X_PROJ) \
+ vs17\$(GDKWIN32_VS1X_PROJ)
+
+GTK3_GDK_WIN32_VC1X_PROJ_FILTERS = \
+ vs11\$(GDKWIN32_VS1X_PROJ_FILTERS) \
+ vs12\$(GDKWIN32_VS1X_PROJ_FILTERS) \
+ vs14\$(GDKWIN32_VS1X_PROJ_FILTERS) \
+ vs15\$(GDKWIN32_VS1X_PROJ_FILTERS) \
+ vs16\$(GDKWIN32_VS1X_PROJ_FILTERS) \
+ vs17\$(GDKWIN32_VS1X_PROJ_FILTERS)
+
GTK3_DEMO_VC1X_PROJS = \
vs10\$(DEMO_VS1X_PROJ) \
vs11\$(DEMO_VS1X_PROJ) \
vs16\$(DEMO_VS1X_PROJ_FILTERS) \
vs17\$(DEMO_VS1X_PROJ_FILTERS)
+GTK3_GDK_WIN32_VCPROJS = \
+ vs9\$(GDKWIN32_VS9_PROJ) \
+ $(GTK3_GDK_WIN32_VC1X_PROJS) \
+ $(GTK3_GDK_WIN32_VC1X_PROJ_FILTERS)
+
GTK3_DEMO_VCPROJS = \
vs9\$(DEMO_VS9_PROJ) \
$(GTK3_DEMO_VC1X_PROJS) \
@$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=..\demos\widget-factory \
--generate-source ..\demos\widget-factory\widget-factory.gresource.xml
+# (Re-) generate Visual Studio projects
+gdk3-win32.sourcefiles: $(GDK_WIN32_C_SRCS)
+ @-del vs9\$(GDKWIN32_VS9_PROJ)
+ @for %%s in ($**) do @echo. ^<File RelativePath^="..\%%s" /^>>>$@
+
+gdk3-win32.vs10.sourcefiles: $(GDK_WIN32_C_SRCS)
+ @-del vs10\$(GDKWIN32_VS1X_PROJ)
+ @for %%s in ($**) do @echo. ^<ClCompile Include^="..\%%s" /^>>>$@
+
+gdk3-win32.vs10.sourcefiles.filters: $(GDK_WIN32_C_SRCS)
+ @-del vs10\$(GDKWIN32_VS1X_PROJ_FILTERS)
+ @for %%s in ($**) do @echo. ^<ClCompile Include^="..\%%s"^>^<Filter^>Source Files^</Filter^>^</ClCompile^>>>$@
+
gtk3-demo.sourcefiles: $(demo_actual_sources)
@-del vs9\$(DEMO_VS9_PROJ)
@for %%s in ($**) do @echo. ^<File RelativePath^="..\%%s" /^>>>$@
@for %%s in ($**) do @echo. ^<ClCompile Include^="..\%%s"^>^<Filter^>Source Files^</Filter^>^</ClCompile^>>>$@
@for %%s in (gtkfishbowl.c main.c) do @echo. ^<ClCompile Include^="..\..\demos\gtk-demo\%%s"^>^<Filter^>Source Files^</Filter^>^</ClCompile^>>>$@
+vs9\$(GDKWIN32_VS9_PROJ).pre: gdk3-win32.sourcefiles vs9\$(GDKWIN32_VS9_PROJ)in
+vs10\$(GDKWIN32_VS1X_PROJ).pre: gdk3-win32.vs10.sourcefiles vs10\$(GDKWIN32_VS1X_PROJ)in
+vs10\$(GDKWIN32_VS1X_PROJ_FILTERS): gdk3-win32.vs10.sourcefiles.filters vs10\$(GDKWIN32_VS1X_PROJ_FILTERS)in
vs9\$(DEMO_VS9_PROJ).pre: gtk3-demo.sourcefiles vs9\$(DEMO_VS9_PROJ)in
vs10\$(DEMO_VS1X_PROJ).pre: gtk3-demo.vs10.sourcefiles vs10\$(DEMO_VS1X_PROJ)in
vs10\$(DEMO_VS1X_PROJ_FILTERS): gtk3-demo.vs10.sourcefiles.filters vs10\$(DEMO_VS1X_PROJ_FILTERS)in
+vs9\$(GDKWIN32_VS9_PROJ).pre vs10\$(GDKWIN32_VS1X_PROJ).pre vs10\$(GDKWIN32_VS1X_PROJ_FILTERS) \
vs9\$(DEMO_VS9_PROJ).pre vs10\$(DEMO_VS1X_PROJ).pre vs10\$(DEMO_VS1X_PROJ_FILTERS):
@$(CPP) /nologo /EP /I. $(@:.pre=)in>$(@F:.pre=).tmp
@for /f "usebackq tokens=* delims=" %%l in ($(@F:.pre=).tmp) do @echo %%l>>$@
@-del $(@F:.pre=).tmp
- @-if "$@" == "vs9\$(DEMO_VS9_PROJ).pre" del gtk3-demo.sourcefiles
- @-if "$@" == "vs10\$(DEMO_VS1X_PROJ).pre" del gtk3-demo.vs10.sourcefiles
- @-if "$@" == "vs10\$(DEMO_VS1X_PROJ_FILTERS)" del gtk3-demo.vs10.sourcefiles.filters
+ @-for %%f in ($**) do if not "%%f" == "$(@:.pre=)in" del %%f
+
+!ifdef USE_EGL
+regenerate-gdkwin32-vsproj-msg:
+ @echo Regenerating gdk3-win32 Visual Studio projects with EGL support...
+
+vs9\$(GDKWIN32_VS9_PROJ): vs9\$(GDKWIN32_VS9_PROJ).pre
+ @echo Generating $@...
+ @$(PYTHON) replace.py -a=replace-str -i=$** -o=$@ \
+ --instring=";INSIDE_GDK_WIN32\"" \
+ --outstring=";INSIDE_GDK_WIN32;GDK_WIN32_ENABLE_EGL\""
+ @-del $**
+
+vs10\$(GDKWIN32_VS1X_PROJ): vs10\$(GDKWIN32_VS1X_PROJ).pre
+ @echo Generating $@...
+ @$(PYTHON) replace.py -a=replace-str -i=$** -o=$@ \
+ --instring=";INSIDE_GDK_WIN32;%" \
+ --outstring=";INSIDE_GDK_WIN32;GDK_WIN32_ENABLE_EGL;%"
+ @-del $**
+!else
+regenerate-gdkwin32-vsproj-msg:
+ @echo Regenerating gdk3-win32 Visual Studio projects without EGL support...
+
+vs9\$(GDKWIN32_VS9_PROJ): vs9\$(GDKWIN32_VS9_PROJ).pre
+vs10\$(GDKWIN32_VS1X_PROJ): vs10\$(GDKWIN32_VS1X_PROJ).pre
+
+vs9\$(GDKWIN32_VS9_PROJ) vs10\$(GDKWIN32_VS1X_PROJ):
+ @echo Renaming $** to $@...
+ @move $** $@
+!endif
!ifdef FONT_FEATURES_DEMO
!ifdef FONT_FEATURES_USE_PANGOFT2
@move $** $@
!endif
+vs11\$(GDKWIN32_VS1X_PROJ): vs10\$(GDKWIN32_VS1X_PROJ)
+vs12\$(GDKWIN32_VS1X_PROJ): vs10\$(GDKWIN32_VS1X_PROJ)
+vs14\$(GDKWIN32_VS1X_PROJ): vs10\$(GDKWIN32_VS1X_PROJ)
+vs15\$(GDKWIN32_VS1X_PROJ): vs10\$(GDKWIN32_VS1X_PROJ)
+vs16\$(GDKWIN32_VS1X_PROJ): vs10\$(GDKWIN32_VS1X_PROJ)
+vs17\$(GDKWIN32_VS1X_PROJ): vs10\$(GDKWIN32_VS1X_PROJ)
vs11\$(DEMO_VS1X_PROJ): vs10\$(DEMO_VS1X_PROJ)
vs12\$(DEMO_VS1X_PROJ): vs10\$(DEMO_VS1X_PROJ)
vs14\$(DEMO_VS1X_PROJ): vs10\$(DEMO_VS1X_PROJ)
vs16\$(DEMO_VS1X_PROJ): vs10\$(DEMO_VS1X_PROJ)
vs17\$(DEMO_VS1X_PROJ): vs10\$(DEMO_VS1X_PROJ)
+vs11\$(GDKWIN32_VS1X_PROJ_FILTERS): vs10\$(GDKWIN32_VS1X_PROJ_FILTERS)
+vs12\$(GDKWIN32_VS1X_PROJ_FILTERS): vs10\$(GDKWIN32_VS1X_PROJ_FILTERS)
+vs14\$(GDKWIN32_VS1X_PROJ_FILTERS): vs10\$(GDKWIN32_VS1X_PROJ_FILTERS)
+vs15\$(GDKWIN32_VS1X_PROJ_FILTERS): vs10\$(GDKWIN32_VS1X_PROJ_FILTERS)
+vs16\$(GDKWIN32_VS1X_PROJ_FILTERS): vs10\$(GDKWIN32_VS1X_PROJ_FILTERS)
+vs17\$(GDKWIN32_VS1X_PROJ_FILTERS): vs10\$(GDKWIN32_VS1X_PROJ_FILTERS)
vs11\$(DEMO_VS1X_PROJ_FILTERS): vs10\$(DEMO_VS1X_PROJ_FILTERS)
vs12\$(DEMO_VS1X_PROJ_FILTERS): vs10\$(DEMO_VS1X_PROJ_FILTERS)
vs14\$(DEMO_VS1X_PROJ_FILTERS): vs10\$(DEMO_VS1X_PROJ_FILTERS)
regenerate-demos-h-win32-msg:
@echo (Re-)Generating demos.h.win32 $(DEMO_MSG)...
+vs11\$(GDKWIN32_VS1X_PROJ) \
vs11\$(DEMO_VS1X_PROJ):
@echo Copying and updating $** for VS2012
@$(PYTHON) replace.py -a=replace-str -i=$** -o=$@ --instring=">v100<" --outstring=">v110<"
+vs12\$(GDKWIN32_VS1X_PROJ) \
vs12\$(DEMO_VS1X_PROJ):
@echo Copying and updating $** for VS2013
@$(PYTHON) replace.py -a=replace-str -i=$** -o=$@ --instring=">v100<" --outstring=">v120<"
+vs14\$(GDKWIN32_VS1X_PROJ) \
vs14\$(DEMO_VS1X_PROJ):
@echo Copying and updating $** for VS2015
@$(PYTHON) replace.py -a=replace-str -i=$** -o=$@ --instring=">v100<" --outstring=">v140<"
+vs15\$(GDKWIN32_VS1X_PROJ) \
vs15\$(DEMO_VS1X_PROJ):
@echo Copying and updating $** for VS2017
@$(PYTHON) replace.py -a=replace-str -i=$** -o=$@ --instring=">v100<" --outstring=">v141<"
+vs16\$(GDKWIN32_VS1X_PROJ) \
vs16\$(DEMO_VS1X_PROJ):
@echo Copying and updating $** for VS2019
@$(PYTHON) replace.py -a=replace-str -i=$** -o=$@ --instring=">v100<" --outstring=">v142<"
+vs17\$(GDKWIN32_VS1X_PROJ) \
vs17\$(DEMO_VS1X_PROJ):
@echo Copying and updating $** for VS2022
@$(PYTHON) replace.py -a=replace-str -i=$** -o=$@ --instring=">v100<" --outstring=">v143<"
# VS2012+ .vcxproj.filters: We simply copy the VS2010 ones
+vs11\$(GDKWIN32_VS1X_PROJ_FILTERS) \
+vs12\$(GDKWIN32_VS1X_PROJ_FILTERS) \
+vs14\$(GDKWIN32_VS1X_PROJ_FILTERS) \
+vs15\$(GDKWIN32_VS1X_PROJ_FILTERS) \
+vs16\$(GDKWIN32_VS1X_PROJ_FILTERS) \
+vs17\$(GDKWIN32_VS1X_PROJ_FILTERS) \
vs11\$(DEMO_VS1X_PROJ_FILTERS) \
vs12\$(DEMO_VS1X_PROJ_FILTERS) \
vs14\$(DEMO_VS1X_PROJ_FILTERS) \
--files-from="$(@D:\=/)/POTFILES.in"
@move $(@B).po $@
+regenerate-gdkwin32-vsproj: regenerate-gdkwin32-vsproj-msg $(GTK3_GDK_WIN32_VCPROJS)
+
# Remove the generated files
clean:
@-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\bin\*.gresource